package com.lundao.mapper;

import com.lundao.domain.Comment;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 评论Mapper接口
 * 
 * @author lundao
 * @date 2025-09-14
 */
@Mapper
public interface CommentMapper 
{
    /**
     * 查询评论
     * 
     * @param commentId 评论主键
     * @return 评论
     */
    public Comment selectCommentByCommentId(String commentId);

    /**
     * 查询评论列表
     * 
     * @param comment 评论
     * @return 评论集合
     */
    public List<Comment> selectCommentList(Comment comment);

    /**
     * 新增评论
     * 
     * @param comment 评论
     * @return 结果
     */
    public int insertComment(Comment comment);
    // CommentMapper.java

    /**
     * 批量查询收藏数
     * @param blogIds
     */
    @MapKey("blogId") //使用blogId作为返回Map的key
    Map<String, Map<String, Object>> batchSelectCommentCount(@Param("blogIds") List<String> blogIds);


    /**
     * 修改评论
     * 
     * @param comment 评论
     * @return 结果
     */
    public int updateComment(Comment comment);

    /**
     * 删除评论
     * 
     * @param commentId 评论主键
     * @return 结果
     */
    public int deleteCommentByCommentId(String commentId);

    /**
     * 批量删除评论
     * 
     * @param commentIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCommentByCommentIds(String[] commentIds);

    List<Comment> selectCommentByBlogId(String blogId);
}
